In the field of data communications, it is well known that data can be lost or corrupted during transmission between a sender and a receiver. Typically, the reliability of the communications network is characterised by the Bit Error Ratio (BER), which measures the ratio of erroneously received bits (or symbols) to the total number of bits or symbols transmitted. It is very desirable to achieve error-free customer bits after decoding in the presence of as high of a noise as possible. The key metric is the Energy per customer bit (Eb) divided by the noise variance N0, that is: Eb/N0, expressed in decibels (dB).
Various known methods are used to detect and correct data transmission errors, and thereby minimize the BER. An important category of techniques for correcting transmission errors is known as Forward Error Correction (FEC).
Forward Error Correction (FEC) techniques involve processing the data prior to transmission, to generate parity (or check) symbols that may be used at the receiver to detect and correct erroneously received data. Well known FEC schemes include, but are not limited to, Turbo codes, Low-Density Parity Check (LDPC) codes, Block Turbo codes, Reed Solomon codes and BCH codes. For the purposes of the present description, a set of parity (or check) symbols generated over a block of data is referred to as a parity vector, irrespective of its actual format or representation.
As is known in the art, FEC techniques have an advantage that they avoid the need for storing and resending data packets, but at a cost of increased overhead.
It is desirable to minimize the overhead, and have a very high noise tolerance, which has led to the use of iterative sparse-graph FEC techniques such as Turbo codes and LDPC codes. However, these techniques suffer from a problem in that a decoded frame may contain residual errors that cannot be corrected by the selected FEC scheme. This problem may arise due to either channel effects (such as cycle slips) or limitations of the FEC algorithm itself, and normally affects a minority of the frames comprising a given signal. However, even when most of the frames are correctly decoded, a small number of decoded frames with significant residual errors can raise the BER of the signal as a whole. Within limits, the error-correction performance of iterative FEC techniques can be improved by increasing the number of iterations implemented by the decoder. However, there is a lower limit to the BER that can be achieved by these techniques, which cannot be further reduced by additional iterations. This lower limit is referred to as an “error floor”. In the case of Turbo codes and LDPC codes, for example, error floors in the range of 10−4 to 10−10 are often encountered, which is unacceptably high for many users of optical transmission systems. Code designs that maximize error correction performance at high noise levels (low signal to noise ratio (SNR)) often raise the error floor. For high speed optical communications systems, hardware implementations of the FEC decoder are required, but this also raises the error floor.
Co-pending US patent Publication No. 2013/0191696, which published Jul. 25, 2013, describes a FEC technique in which a super-frame comprises N-frames including a set of two or more data frames and a parity frame that is calculated across the set of data frames. Each bit of the parity frame is calculated using at least one bit from each one of a plurality of the data frames. With this arrangement, if any one of the N frames of the superframe fails to converge in the FEC decoder, then the errored frame can be recovered based on the other N−1 correctly decoded frames in the super-frame. This technique is beneficial in that it increases tolerance to “error bursts” characterised by a large number of errored bits within a single frame, and also has a very low error floor compared to conventional techniques. However, it has been found that this technique does not significantly improve Eb/N0.
The problem to be solved is how to optimize the Energy per customer bit (Eb) divided by the noise variance No, (that is: Eb/N0), while minimizing the error floor.
Techniques for data recovery that overcome limitations of the prior art remain highly desirable.